package main

import (
	"fmt"
	"gin/model/database"
	"gin/routes"
	"gin/server"
	"gin/view"
	"log"

	"github.com/gin-gonic/gin"
)

func zhizhen() {
	num := 10
	ptr := &num
	ptr2 := &ptr
	// 三维指针，指向二维指针 ptr2
	var ptr3 ***int = &ptr2
	fmt.Printf("num  的值: %d\n", num)
	fmt.Printf("ptr  指向的值: %d\n", *ptr)
	fmt.Printf("ptr2 间接指向的值: %d\n", **ptr2)
	fmt.Printf("ptr3 间接指向的值: %d\n", ***ptr3)
	// 通过三维指针修改 num 的值
	***ptr3 = 40
	fmt.Printf("修改后 num 的值: %d\n", num)
}

func main() {

	// 创建Gin引擎
	r := gin.Default()
	// 初始化数据库连接
	database.Mysql_config()
	database.Redis_Client()

	// 自动迁移数据库表结构
	database.AutoMigrate()
	//初始化数据
	server.Init()
	// 加载静态文件
	r.Static("/static", "./static")

	// 加载HTML模板
	view.HtmlLoad(r)

	// 注册路由
	routes.UserRoute(r)
	go server.WriteLog()
	//启动定时删除日志数据任务
	go server.Timing()
	// 启动服务器
	log.Println("服务器启动在端口 :8022")
	if err := r.Run(":" + server.Host); err != nil {
		log.Fatal("服务器启动失败:", err)
	}
}
